package 暑假实习面试;

import 我的JDK基础数据结构.HashMap.HashMap;

import java.util.Map;

/**
 * @description:
 * @author: 小白白
 * @create: 2021-12-27
 **/

public class 进制转换_26进制 {

    private static Map<Integer, Character> map;

    static {
        map = new HashMap<>();
        for (char i = '0'; i <= '9'; i++) {
            map.put(i - '0', i);
        }
        for (char i = 'a'; i <= 'z'; i++) {
            map.put(i - 'a' + 10, i);
        }
    }

    /**
     * 二十六进制转换
     */
    public String convert(int num) {

        int hex = 26;

        StringBuilder sb = new StringBuilder();
        // 十进制转为二十六进制, 收集十进制除以26的余数, 直到商为0
        // 商
        int merchant = num;
        // 余数
        int remainder = -1;
        while (merchant != 0) {
            remainder = merchant % hex;
            merchant = merchant / hex;
            // 放入余数, 记得转换
            sb.append(map.get(remainder));
        }

        String result = sb.reverse().toString();

        return result;
    }

    public static void main(String[] args) {
        进制转换_26进制 进制转换26进制 = new 进制转换_26进制();
        String result = 进制转换26进制.convert(16767);
        System.out.println(result);
    }

}
